{"ast":null,"code":"import { Keyframes } from '@ant-design/cssinjs';\nimport { genCollapseMotion } from '../../style/motion';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n  '0%': {\n    opacity: 0\n  },\n  '100%': {\n    opacity: 1\n  }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n  [`.${prefixCls}-switcher-icon`]: {\n    display: 'inline-block',\n    fontSize: 10,\n    verticalAlign: 'baseline',\n    svg: {\n      transition: `transform ${token.motionDurationSlow}`\n    }\n  }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n  [`.${prefixCls}-drop-indicator`]: {\n    position: 'absolute',\n    // it should displayed over the following node\n    zIndex: 1,\n    height: 2,\n    backgroundColor: token.colorPrimary,\n    borderRadius: 1,\n    pointerEvents: 'none',\n    '&:after': {\n      position: 'absolute',\n      top: -3,\n      insetInlineStart: -6,\n      width: 8,\n      height: 8,\n      backgroundColor: 'transparent',\n      border: `${token.lineWidthBold}px solid ${token.colorPrimary}`,\n      borderRadius: '50%',\n      content: '\"\"'\n    }\n  }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n  const {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding,\n    treeTitleHeight\n  } = token;\n  const treeCheckBoxMarginVertical = (treeTitleHeight - token.fontSizeLG) / 2;\n  const treeCheckBoxMarginHorizontal = token.paddingXS;\n  return {\n    [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      background: token.colorBgContainer,\n      borderRadius: token.borderRadius,\n      transition: `background-color ${token.motionDurationSlow}`,\n      '&&-rtl': {\n        // >>> Switcher\n        [`${treeCls}-switcher`]: {\n          '&_close': {\n            [`${treeCls}-switcher-icon`]: {\n              svg: {\n                transform: 'rotate(90deg)'\n              }\n            }\n          }\n        }\n      },\n      '&-focused:not(:hover):not(&-active-focused)': Object.assign({}, genFocusOutline(token)),\n      // =================== Virtual List ===================\n      [`${treeCls}-list-holder-inner`]: {\n        alignItems: 'flex-start'\n      },\n      [`&${treeCls}-block-node`]: {\n        [`${treeCls}-list-holder-inner`]: {\n          alignItems: 'stretch',\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            flex: 'auto'\n          },\n          // >>> Drag\n          [`${treeNodeCls}.dragging`]: {\n            position: 'relative',\n            '&:after': {\n              position: 'absolute',\n              top: 0,\n              insetInlineEnd: 0,\n              bottom: treeNodePadding,\n              insetInlineStart: 0,\n              border: `1px solid ${token.colorPrimary}`,\n              opacity: 0,\n              animationName: treeNodeFX,\n              animationDuration: token.motionDurationSlow,\n              animationPlayState: 'running',\n              animationFillMode: 'forwards',\n              content: '\"\"',\n              pointerEvents: 'none'\n            }\n          }\n        }\n      },\n      // ===================== TreeNode =====================\n      [`${treeNodeCls}`]: {\n        display: 'flex',\n        alignItems: 'flex-start',\n        padding: `0 0 ${treeNodePadding}px 0`,\n        outline: 'none',\n        '&-rtl': {\n          direction: 'rtl'\n        },\n        // Disabled\n        '&-disabled': {\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            color: token.colorTextDisabled,\n            cursor: 'not-allowed',\n            '&:hover': {\n              background: 'transparent'\n            }\n          }\n        },\n        [`&-active ${treeCls}-node-content-wrapper`]: Object.assign({}, genFocusOutline(token)),\n        [`&:not(&-disabled).filter-node ${treeCls}-title`]: {\n          color: 'inherit',\n          fontWeight: 500\n        },\n        '&-draggable': {\n          [`${treeCls}-draggable-icon`]: {\n            width: treeTitleHeight,\n            lineHeight: `${treeTitleHeight}px`,\n            textAlign: 'center',\n            visibility: 'visible',\n            opacity: 0.2,\n            transition: `opacity ${token.motionDurationSlow}`,\n            [`${treeNodeCls}:hover &`]: {\n              opacity: 0.45\n            }\n          },\n          [`&${treeNodeCls}-disabled`]: {\n            [`${treeCls}-draggable-icon`]: {\n              visibility: 'hidden'\n            }\n          }\n        }\n      },\n      // >>> Indent\n      [`${treeCls}-indent`]: {\n        alignSelf: 'stretch',\n        whiteSpace: 'nowrap',\n        userSelect: 'none',\n        '&-unit': {\n          display: 'inline-block',\n          width: treeTitleHeight\n        }\n      },\n      // >>> Drag Handler\n      [`${treeCls}-draggable-icon`]: {\n        visibility: 'hidden'\n      },\n      // >>> Switcher\n      [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n        position: 'relative',\n        flex: 'none',\n        alignSelf: 'stretch',\n        width: treeTitleHeight,\n        margin: 0,\n        lineHeight: `${treeTitleHeight}px`,\n        textAlign: 'center',\n        cursor: 'pointer',\n        userSelect: 'none',\n        '&-noop': {\n          cursor: 'default'\n        },\n        '&_close': {\n          [`${treeCls}-switcher-icon`]: {\n            svg: {\n              transform: 'rotate(-90deg)'\n            }\n          }\n        },\n        '&-loading-icon': {\n          color: token.colorPrimary\n        },\n        '&-leaf-line': {\n          position: 'relative',\n          zIndex: 1,\n          display: 'inline-block',\n          width: '100%',\n          height: '100%',\n          // https://github.com/ant-design/ant-design/issues/31884\n          '&:before': {\n            position: 'absolute',\n            top: 0,\n            insetInlineEnd: treeTitleHeight / 2,\n            bottom: -treeNodePadding,\n            marginInlineStart: -1,\n            borderInlineEnd: `1px solid ${token.colorBorder}`,\n            content: '\"\"'\n          },\n          '&:after': {\n            position: 'absolute',\n            width: treeTitleHeight / 2 * 0.8,\n            height: treeTitleHeight / 2,\n            borderBottom: `1px solid ${token.colorBorder}`,\n            content: '\"\"'\n          }\n        }\n      }),\n      // >>> Checkbox\n      [`${treeCls}-checkbox`]: {\n        top: 'initial',\n        marginInlineEnd: treeCheckBoxMarginHorizontal,\n        marginBlockStart: treeCheckBoxMarginVertical\n      },\n      // >>> Title\n      // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n      [`${treeCls}-node-content-wrapper, ${treeCls}-checkbox + span`]: {\n        position: 'relative',\n        zIndex: 'auto',\n        minHeight: treeTitleHeight,\n        margin: 0,\n        padding: `0 ${token.paddingXS / 2}px`,\n        color: 'inherit',\n        lineHeight: `${treeTitleHeight}px`,\n        background: 'transparent',\n        borderRadius: token.borderRadius,\n        cursor: 'pointer',\n        transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,\n        '&:hover': {\n          backgroundColor: token.controlItemBgHover\n        },\n        [`&${treeCls}-node-selected`]: {\n          backgroundColor: token.controlItemBgActive\n        },\n        // Icon\n        [`${treeCls}-iconEle`]: {\n          display: 'inline-block',\n          width: treeTitleHeight,\n          height: treeTitleHeight,\n          lineHeight: `${treeTitleHeight}px`,\n          textAlign: 'center',\n          verticalAlign: 'top',\n          '&:empty': {\n            display: 'none'\n          }\n        }\n      },\n      // https://github.com/ant-design/ant-design/issues/28217\n      [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n        backgroundColor: 'transparent'\n      },\n      // ==================== Draggable =====================\n      [`${treeCls}-node-content-wrapper`]: Object.assign({\n        lineHeight: `${treeTitleHeight}px`,\n        userSelect: 'none'\n      }, getDropIndicatorStyle(prefixCls, token)),\n      [`${treeNodeCls}.drop-container`]: {\n        '> [draggable]': {\n          boxShadow: `0 0 0 2px ${token.colorPrimary}`\n        }\n      },\n      // ==================== Show Line =====================\n      '&-show-line': {\n        // ================ Indent lines ================\n        [`${treeCls}-indent`]: {\n          '&-unit': {\n            position: 'relative',\n            height: '100%',\n            '&:before': {\n              position: 'absolute',\n              top: 0,\n              insetInlineEnd: treeTitleHeight / 2,\n              bottom: -treeNodePadding,\n              borderInlineEnd: `1px solid ${token.colorBorder}`,\n              content: '\"\"'\n            },\n            '&-end': {\n              '&:before': {\n                display: 'none'\n              }\n            }\n          }\n        },\n        // ============== Cover Background ==============\n        [`${treeCls}-switcher`]: {\n          background: 'transparent',\n          '&-line-icon': {\n            // https://github.com/ant-design/ant-design/issues/32813\n            verticalAlign: '-0.15em'\n          }\n        }\n      },\n      [`${treeNodeCls}-leaf-last`]: {\n        [`${treeCls}-switcher`]: {\n          '&-leaf-line': {\n            '&:before': {\n              top: 'auto !important',\n              bottom: 'auto !important',\n              height: `${treeTitleHeight / 2}px !important`\n            }\n          }\n        }\n      }\n    })\n  };\n};\n// ============================ Directory =============================\nexport const genDirectoryStyle = token => {\n  const {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding\n  } = token;\n  return {\n    [`${treeCls}${treeCls}-directory`]: {\n      // ================== TreeNode ==================\n      [treeNodeCls]: {\n        position: 'relative',\n        // Hover color\n        '&:before': {\n          position: 'absolute',\n          top: 0,\n          insetInlineEnd: 0,\n          bottom: treeNodePadding,\n          insetInlineStart: 0,\n          transition: `background-color ${token.motionDurationMid}`,\n          content: '\"\"',\n          pointerEvents: 'none'\n        },\n        '&:hover': {\n          '&:before': {\n            background: token.controlItemBgHover\n          }\n        },\n        // Elements\n        '> *': {\n          zIndex: 1\n        },\n        // >>> Switcher\n        [`${treeCls}-switcher`]: {\n          transition: `color ${token.motionDurationMid}`\n        },\n        // >>> Title\n        [`${treeCls}-node-content-wrapper`]: {\n          borderRadius: 0,\n          userSelect: 'none',\n          '&:hover': {\n            background: 'transparent'\n          },\n          [`&${treeCls}-node-selected`]: {\n            color: token.colorTextLightSolid,\n            background: 'transparent'\n          }\n        },\n        // ============= Selected =============\n        '&-selected': {\n          [`\n            &:hover::before,\n            &::before\n          `]: {\n            background: token.colorPrimary\n          },\n          // >>> Switcher\n          [`${treeCls}-switcher`]: {\n            color: token.colorTextLightSolid\n          },\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            color: token.colorTextLightSolid,\n            background: 'transparent'\n          }\n        }\n      }\n    }\n  };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token) => {\n  const treeCls = `.${prefixCls}`;\n  const treeNodeCls = `${treeCls}-treenode`;\n  const treeNodePadding = token.paddingXS / 2;\n  const treeTitleHeight = token.controlHeightSM;\n  const treeToken = mergeToken(token, {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding,\n    treeTitleHeight\n  });\n  return [\n  // Basic\n  genBaseStyle(prefixCls, treeToken),\n  // Directory\n  genDirectoryStyle(treeToken)];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tree', (token, _ref) => {\n  let {\n    prefixCls\n  } = _ref;\n  return [{\n    [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n  }, genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n});","map":{"version":3,"names":["Keyframes","genCollapseMotion","getStyle","getCheckboxStyle","genComponentStyleHook","mergeToken","genFocusOutline","resetComponent","treeNodeFX","opacity","getSwitchStyle","prefixCls","token","display","fontSize","verticalAlign","svg","transition","motionDurationSlow","getDropIndicatorStyle","position","zIndex","height","backgroundColor","colorPrimary","borderRadius","pointerEvents","top","insetInlineStart","width","border","lineWidthBold","content","genBaseStyle","treeCls","treeNodeCls","treeNodePadding","treeTitleHeight","treeCheckBoxMarginVertical","fontSizeLG","treeCheckBoxMarginHorizontal","paddingXS","Object","assign","background","colorBgContainer","transform","alignItems","flex","insetInlineEnd","bottom","animationName","animationDuration","animationPlayState","animationFillMode","padding","outline","direction","color","colorTextDisabled","cursor","fontWeight","lineHeight","textAlign","visibility","alignSelf","whiteSpace","userSelect","margin","marginInlineStart","borderInlineEnd","colorBorder","borderBottom","marginInlineEnd","marginBlockStart","minHeight","motionDurationMid","controlItemBgHover","controlItemBgActive","boxShadow","genDirectoryStyle","colorTextLightSolid","genTreeStyle","controlHeightSM","treeToken","_ref","componentCls"],"sources":["/data/messenger.client/node_modules/antd/es/tree/style/index.js"],"sourcesContent":["import { Keyframes } from '@ant-design/cssinjs';\nimport { genCollapseMotion } from '../../style/motion';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n  '0%': {\n    opacity: 0\n  },\n  '100%': {\n    opacity: 1\n  }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n  [`.${prefixCls}-switcher-icon`]: {\n    display: 'inline-block',\n    fontSize: 10,\n    verticalAlign: 'baseline',\n    svg: {\n      transition: `transform ${token.motionDurationSlow}`\n    }\n  }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n  [`.${prefixCls}-drop-indicator`]: {\n    position: 'absolute',\n    // it should displayed over the following node\n    zIndex: 1,\n    height: 2,\n    backgroundColor: token.colorPrimary,\n    borderRadius: 1,\n    pointerEvents: 'none',\n    '&:after': {\n      position: 'absolute',\n      top: -3,\n      insetInlineStart: -6,\n      width: 8,\n      height: 8,\n      backgroundColor: 'transparent',\n      border: `${token.lineWidthBold}px solid ${token.colorPrimary}`,\n      borderRadius: '50%',\n      content: '\"\"'\n    }\n  }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n  const {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding,\n    treeTitleHeight\n  } = token;\n  const treeCheckBoxMarginVertical = (treeTitleHeight - token.fontSizeLG) / 2;\n  const treeCheckBoxMarginHorizontal = token.paddingXS;\n  return {\n    [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      background: token.colorBgContainer,\n      borderRadius: token.borderRadius,\n      transition: `background-color ${token.motionDurationSlow}`,\n      '&&-rtl': {\n        // >>> Switcher\n        [`${treeCls}-switcher`]: {\n          '&_close': {\n            [`${treeCls}-switcher-icon`]: {\n              svg: {\n                transform: 'rotate(90deg)'\n              }\n            }\n          }\n        }\n      },\n      '&-focused:not(:hover):not(&-active-focused)': Object.assign({}, genFocusOutline(token)),\n      // =================== Virtual List ===================\n      [`${treeCls}-list-holder-inner`]: {\n        alignItems: 'flex-start'\n      },\n      [`&${treeCls}-block-node`]: {\n        [`${treeCls}-list-holder-inner`]: {\n          alignItems: 'stretch',\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            flex: 'auto'\n          },\n          // >>> Drag\n          [`${treeNodeCls}.dragging`]: {\n            position: 'relative',\n            '&:after': {\n              position: 'absolute',\n              top: 0,\n              insetInlineEnd: 0,\n              bottom: treeNodePadding,\n              insetInlineStart: 0,\n              border: `1px solid ${token.colorPrimary}`,\n              opacity: 0,\n              animationName: treeNodeFX,\n              animationDuration: token.motionDurationSlow,\n              animationPlayState: 'running',\n              animationFillMode: 'forwards',\n              content: '\"\"',\n              pointerEvents: 'none'\n            }\n          }\n        }\n      },\n      // ===================== TreeNode =====================\n      [`${treeNodeCls}`]: {\n        display: 'flex',\n        alignItems: 'flex-start',\n        padding: `0 0 ${treeNodePadding}px 0`,\n        outline: 'none',\n        '&-rtl': {\n          direction: 'rtl'\n        },\n        // Disabled\n        '&-disabled': {\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            color: token.colorTextDisabled,\n            cursor: 'not-allowed',\n            '&:hover': {\n              background: 'transparent'\n            }\n          }\n        },\n        [`&-active ${treeCls}-node-content-wrapper`]: Object.assign({}, genFocusOutline(token)),\n        [`&:not(&-disabled).filter-node ${treeCls}-title`]: {\n          color: 'inherit',\n          fontWeight: 500\n        },\n        '&-draggable': {\n          [`${treeCls}-draggable-icon`]: {\n            width: treeTitleHeight,\n            lineHeight: `${treeTitleHeight}px`,\n            textAlign: 'center',\n            visibility: 'visible',\n            opacity: 0.2,\n            transition: `opacity ${token.motionDurationSlow}`,\n            [`${treeNodeCls}:hover &`]: {\n              opacity: 0.45\n            }\n          },\n          [`&${treeNodeCls}-disabled`]: {\n            [`${treeCls}-draggable-icon`]: {\n              visibility: 'hidden'\n            }\n          }\n        }\n      },\n      // >>> Indent\n      [`${treeCls}-indent`]: {\n        alignSelf: 'stretch',\n        whiteSpace: 'nowrap',\n        userSelect: 'none',\n        '&-unit': {\n          display: 'inline-block',\n          width: treeTitleHeight\n        }\n      },\n      // >>> Drag Handler\n      [`${treeCls}-draggable-icon`]: {\n        visibility: 'hidden'\n      },\n      // >>> Switcher\n      [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n        position: 'relative',\n        flex: 'none',\n        alignSelf: 'stretch',\n        width: treeTitleHeight,\n        margin: 0,\n        lineHeight: `${treeTitleHeight}px`,\n        textAlign: 'center',\n        cursor: 'pointer',\n        userSelect: 'none',\n        '&-noop': {\n          cursor: 'default'\n        },\n        '&_close': {\n          [`${treeCls}-switcher-icon`]: {\n            svg: {\n              transform: 'rotate(-90deg)'\n            }\n          }\n        },\n        '&-loading-icon': {\n          color: token.colorPrimary\n        },\n        '&-leaf-line': {\n          position: 'relative',\n          zIndex: 1,\n          display: 'inline-block',\n          width: '100%',\n          height: '100%',\n          // https://github.com/ant-design/ant-design/issues/31884\n          '&:before': {\n            position: 'absolute',\n            top: 0,\n            insetInlineEnd: treeTitleHeight / 2,\n            bottom: -treeNodePadding,\n            marginInlineStart: -1,\n            borderInlineEnd: `1px solid ${token.colorBorder}`,\n            content: '\"\"'\n          },\n          '&:after': {\n            position: 'absolute',\n            width: treeTitleHeight / 2 * 0.8,\n            height: treeTitleHeight / 2,\n            borderBottom: `1px solid ${token.colorBorder}`,\n            content: '\"\"'\n          }\n        }\n      }),\n      // >>> Checkbox\n      [`${treeCls}-checkbox`]: {\n        top: 'initial',\n        marginInlineEnd: treeCheckBoxMarginHorizontal,\n        marginBlockStart: treeCheckBoxMarginVertical\n      },\n      // >>> Title\n      // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n      [`${treeCls}-node-content-wrapper, ${treeCls}-checkbox + span`]: {\n        position: 'relative',\n        zIndex: 'auto',\n        minHeight: treeTitleHeight,\n        margin: 0,\n        padding: `0 ${token.paddingXS / 2}px`,\n        color: 'inherit',\n        lineHeight: `${treeTitleHeight}px`,\n        background: 'transparent',\n        borderRadius: token.borderRadius,\n        cursor: 'pointer',\n        transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,\n        '&:hover': {\n          backgroundColor: token.controlItemBgHover\n        },\n        [`&${treeCls}-node-selected`]: {\n          backgroundColor: token.controlItemBgActive\n        },\n        // Icon\n        [`${treeCls}-iconEle`]: {\n          display: 'inline-block',\n          width: treeTitleHeight,\n          height: treeTitleHeight,\n          lineHeight: `${treeTitleHeight}px`,\n          textAlign: 'center',\n          verticalAlign: 'top',\n          '&:empty': {\n            display: 'none'\n          }\n        }\n      },\n      // https://github.com/ant-design/ant-design/issues/28217\n      [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n        backgroundColor: 'transparent'\n      },\n      // ==================== Draggable =====================\n      [`${treeCls}-node-content-wrapper`]: Object.assign({\n        lineHeight: `${treeTitleHeight}px`,\n        userSelect: 'none'\n      }, getDropIndicatorStyle(prefixCls, token)),\n      [`${treeNodeCls}.drop-container`]: {\n        '> [draggable]': {\n          boxShadow: `0 0 0 2px ${token.colorPrimary}`\n        }\n      },\n      // ==================== Show Line =====================\n      '&-show-line': {\n        // ================ Indent lines ================\n        [`${treeCls}-indent`]: {\n          '&-unit': {\n            position: 'relative',\n            height: '100%',\n            '&:before': {\n              position: 'absolute',\n              top: 0,\n              insetInlineEnd: treeTitleHeight / 2,\n              bottom: -treeNodePadding,\n              borderInlineEnd: `1px solid ${token.colorBorder}`,\n              content: '\"\"'\n            },\n            '&-end': {\n              '&:before': {\n                display: 'none'\n              }\n            }\n          }\n        },\n        // ============== Cover Background ==============\n        [`${treeCls}-switcher`]: {\n          background: 'transparent',\n          '&-line-icon': {\n            // https://github.com/ant-design/ant-design/issues/32813\n            verticalAlign: '-0.15em'\n          }\n        }\n      },\n      [`${treeNodeCls}-leaf-last`]: {\n        [`${treeCls}-switcher`]: {\n          '&-leaf-line': {\n            '&:before': {\n              top: 'auto !important',\n              bottom: 'auto !important',\n              height: `${treeTitleHeight / 2}px !important`\n            }\n          }\n        }\n      }\n    })\n  };\n};\n// ============================ Directory =============================\nexport const genDirectoryStyle = token => {\n  const {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding\n  } = token;\n  return {\n    [`${treeCls}${treeCls}-directory`]: {\n      // ================== TreeNode ==================\n      [treeNodeCls]: {\n        position: 'relative',\n        // Hover color\n        '&:before': {\n          position: 'absolute',\n          top: 0,\n          insetInlineEnd: 0,\n          bottom: treeNodePadding,\n          insetInlineStart: 0,\n          transition: `background-color ${token.motionDurationMid}`,\n          content: '\"\"',\n          pointerEvents: 'none'\n        },\n        '&:hover': {\n          '&:before': {\n            background: token.controlItemBgHover\n          }\n        },\n        // Elements\n        '> *': {\n          zIndex: 1\n        },\n        // >>> Switcher\n        [`${treeCls}-switcher`]: {\n          transition: `color ${token.motionDurationMid}`\n        },\n        // >>> Title\n        [`${treeCls}-node-content-wrapper`]: {\n          borderRadius: 0,\n          userSelect: 'none',\n          '&:hover': {\n            background: 'transparent'\n          },\n          [`&${treeCls}-node-selected`]: {\n            color: token.colorTextLightSolid,\n            background: 'transparent'\n          }\n        },\n        // ============= Selected =============\n        '&-selected': {\n          [`\n            &:hover::before,\n            &::before\n          `]: {\n            background: token.colorPrimary\n          },\n          // >>> Switcher\n          [`${treeCls}-switcher`]: {\n            color: token.colorTextLightSolid\n          },\n          // >>> Title\n          [`${treeCls}-node-content-wrapper`]: {\n            color: token.colorTextLightSolid,\n            background: 'transparent'\n          }\n        }\n      }\n    }\n  };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token) => {\n  const treeCls = `.${prefixCls}`;\n  const treeNodeCls = `${treeCls}-treenode`;\n  const treeNodePadding = token.paddingXS / 2;\n  const treeTitleHeight = token.controlHeightSM;\n  const treeToken = mergeToken(token, {\n    treeCls,\n    treeNodeCls,\n    treeNodePadding,\n    treeTitleHeight\n  });\n  return [\n  // Basic\n  genBaseStyle(prefixCls, treeToken),\n  // Directory\n  genDirectoryStyle(treeToken)];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tree', (token, _ref) => {\n  let {\n    prefixCls\n  } = _ref;\n  return [{\n    [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n  }, genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n});"],"mappings":"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"},"metadata":{},"sourceType":"module"}